package lu.med.praxiswahl.wahlumed.client.tarif;

import java.util.ArrayList;

import lu.med.praxiswahl.wahlumed.client.wclient.Main;


/**
 * 
 * @author Lars Holger Roth
 */

public class Tarif
{
    private Main dataManager;
    private ArrayList<StringPair> codes = new ArrayList<StringPair>();

    public Tarif(Main dataManager)
    {
	this.dataManager = dataManager;
    }

    public String getDescriptionAt(int index)
    {
	return codes.get(index).getDescription();
    }

    public String getKeywordAt(int index)
    {
	return codes.get(index).getKeyword();
    }

    public String getPriceA(String keyword)
    {
	for (int i = 0; i < codes.size(); i++)
	{
	    if (!codes.get(i).isStringA(keyword).equals(""))
	    {
		return codes.get(i).isStringA(keyword);
	    }
	}
	return "";
    }

    public String getPriceB(String keyword)
    {
	for (int i = 0; i < codes.size(); i++)
	{
	    if (!codes.get(i).isStringB(keyword).equals(""))
	    {
		return codes.get(i).isStringB(keyword);
	    }
	}
	return "";
    }

    public int getSize()
    {
	return codes.size();
    }

    public void refreshList()
    {
	// Holt sich die Codes neu vom Server
	/*
	 * try { String str = "GET_CODES";
	 * dataManager.getOutputStream().writeUTF(str); str =
	 * dataManager.getInpupStream().readUTF(); // Leert die alte Code Liste
	 * codes.clear(); // Erstellt eine neue Code Liste String[] tok =
	 * Parser.parseString(str); for (int i=0; i<tok.length-3; i+=3) {
	 * codes.add(new StringPair(tok[i],tok[(i+1)],tok[(i+2)])); } } catch
	 * (IOException io) {JOptionPane.showMessageDialog(dataManager,
	 * "Verbindung zum Server verloren."); }
	 */
    }

    public void saveCodes()
    {
	// Speichert die Codes auf dem Server
	/*
	 * try { String str = "SET_CODES#"; for (int i=0; i<codes.size(); i++) {
	 * if (i!=0) str += "#"; str += codes.get(i).getKeyword() + "#" +
	 * codes.get(i).getPriceA() + "#" + codes.get(i).getPriceB(); }
	 * dataManager.getOutputStream().writeUTF(str); str =
	 * dataManager.getInpupStream().readUTF(); } catch (IOException io) {
	 * JOptionPane
	 * .showMessageDialog(dataManager,"Verbindung zum Server verloren."); }
	 */
    }

    public void setPriceA(String keyword, String v)
    {
	for (int i = 0; i < codes.size(); i++)
	{
	    if (!codes.get(i).isStringA(keyword).equals(""))
	    {
		codes.get(i).setPriceA(v);
		return;
	    }
	}
    }

    public void setPriceB(String keyword, String v)
    {
	for (int i = 0; i < codes.size(); i++)
	{
	    if (!codes.get(i).isStringB(keyword).equals(""))
	    {
		codes.get(i).setPriceB(v);
		return;
	    }
	}
    }

}
